iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
Python

讓Python不拍勝-實用套件實作與介紹系列 第 27

[DAY27]Python自動化測試-Pytest(二)

  • 分享至 

  • xImage
  •  

上一篇介紹了為什麼需要自動化測試、安裝 Pytest 和建立被測試檔,今天將接續上一篇的內容建立測試檔,開始實作 Pytest 的部分

建立資料夾、被測試檔、測試檔

在資料夾內建立測試檔

建立用來測試被測試檔的 Python 檔案,並且在裡面寫測試函數
這邊需要注意兩件事

  1. 請再次確認被測試檔和測試檔是放在同一個資料夾內,才能正常 import 被測試檔的函數進來
  2. 測試函數的開頭一定要用 test 開頭,Pytest 才能自動捕捉執行
    image
  • project_test.py
import project

def test_add():
    assert project.add(2, 6) == 8
    assert project.add(2, 7) == 9

def test_sub():
    assert project.sub(2, 6) == -4
    assert project.sub(2, 7) == -5

def test_mul():
    assert project.mul(2, 6) == 12
    assert project.mul(2, 7) == 14

def test_div():
    assert project.div(6, 2) == 3
    assert project.div(8, 2) == 4

def test_ironman():
    assert project.ironman(26) == "Share More Gain More: DAY26"
    assert project.ironman(27) == "Share More Gain More: DAY27"

這邊來介紹一下 assert 這個語法,用法如下:

assert 條件, "錯誤訊息"

當條件為 True 時,程式會繼續執行,如果為 False 會印出錯誤訊息;
而 assert 運用在 Pytest 中,若為 False,測試就會失敗,並顯示錯誤訊息

執行 Pytest 自動化測試

測試檔案建立好後,就可以打開終端機開始執行測試了

切換工作目錄

在終端機中輸入以下指令

本次示範是在桌面上建立 pytest 資料夾,實際路徑會依照讀者建立位置而不同

cd ./desktop/pytest 

使用 Pytest 執行測試檔

在終端機中輸入以下指令

  • -v 可以用來顯示詳細的測試訊息,測試時會列出每個測試的函數名稱和結果,測試失敗時也會提供更詳細的內容
pytest -v project_test.py

輸出結果
image
可以在輸出結果上面看到,Pytest 捕獲了五個測試函數,並且所有函數測試結果都顯示 PASS,代表測試成功!

那下一篇將繼續介紹更多測試方式!


上一篇
[DAY26]Python自動化測試-Pytest(一)
下一篇
[DAY28]Python自動化測試-Pytest(三)
系列文
讓Python不拍勝-實用套件實作與介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言